package com.feisi.service;

import com.feisi.domain.User;

import java.util.List;

public interface UserService {

    /**
     * 查询所有user
     *
     * @return
     */
    List<User> findAll(Integer page, Integer limit);

    /**
     * 查询总条数
     *
     * @return
     */
    Integer usersTotal();

    /**
     * 保存user
     *
     * @param user
     */
    void saveUser(User user);

    /**
     * 根据姓名查找user
     *
     * @param u_name
     * @return
     */
    List<User> findByName(String u_name, Integer page, Integer limit);

    /**
     * 根据姓名查询总条数
     *
     * @param u_name
     * @return
     */
    Integer usersTotalByName(String u_name);

    /**
     * 根据id查询用户
     *
     * @param id
     * @return
     */
    User findUserById(Integer id);

    /**
     * 根据用户(员工)部门查找用户
     * 实现通讯录模板的 选择部门 功能
     *
     * @param u_department
     * @param page
     * @param limit
     * @return
     */
    List<User> findByDepartment(String u_department, Integer page, Integer limit);

    /**
     * 根据用户(员工)部门查找用户数
     * 实现通讯录模板的 选择部门 功能
     *
     * @param u_department
     * @return
     */
    Integer userTotalByDepartment(String u_department);


    /**
     * 修改用户
     *
     * @param user
     */
    void updateUser(User user);


    /**
     * 修改密码
     *
     * @param id
     * @param password
     */
    void updateUserPassword(Integer id, String password);

    /**
     * 根据用户名和密码查询用户
     * 登录注册时用到
     *
     * @param username
     * @param password
     * @return
     */
    List<User> findByNameAndPassword(String username, String password);


    /**
     * 根据id删除用户
     *
     * @param ids
     */

    void deleteUser(Integer[] ids);


}
